package com.ynet.eq.haiqing.module.bean;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

/**
 * @author 胡超雄
 * @date 2021/6/25 15:03
 * @desc  mqtt 所有操作 的基础入参
 */
@Data
public  class MqttBaseReq<T>  {

    /**
     * 操作
     */
    @NotEmpty(message = "操作不能为空")
    private  String operator ;

    /**
     * 消息 id,区分每一条消息
     */
    @NotNull(message = "消息唯一id不能为空")
    private  String  messageId;

    /**
     * 设备id
     */
    @NotEmpty(message = "设备id不能为空")
    @JSONField(serialize = false)  //忽略当前字段
    private  String  id ;


    /**
     * 具体内容
     */
    @NotNull(message = "具体内容不能为空")
    @Valid   //校验
    private  T  info ;




}
